<?php

class Proceso_Model extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }

    function getPacientes()
    {
        $sql = $this->db->query('
            ');
        
        $data = array();
        
        if($sql->num_rows > 0){
            foreach($sql->result() as $fila){
                $data[] = $fila;
            }
        }
        
        return $data;
    }
    
    
    function buscarProcesoPorCodigo($codigo){
        $cond1 = " and pr.procedimiento like '%$codigo%'";
    
        $sql = $this->db->query("
            select
            pr.Procedimiento Procedimiento,
            pr.Persona Persona,
            pr.HistoriaClinica HistoriaClinica,
            pa.Nombres Nombres,
            pa.Apellido_Paterno Apellido_Paterno,
            pa.Apellido_Materno Apellido_Materno
            from procedimiento pr, persona pa
            where pr.persona = pa.persona
            $cond1;");
       
        return $sql->result_array();

    }
    
    function buscarPacientes($cod,$nombre, $apePat, $apeMat){
        
        $cond1=""; $cond2=""; $cond3="";
        if ($cod!=''){
            if ($nombre != ''){
                $cond1 = "and pe.Nombres like '%$nombre%'";
            }
            if ($apePat != ''){
                $cond2 = "and pe.Apellido_Paterno like '%$apePat%'";
            }
            if ($apeMat != ''){
                $cond3 = "and pe.Apellido_Materno like '%$apeMat%'";
            }
        }else{
            $cond1=" and pe.CodigoDocumento like '%$cod%'";
        }
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            ti.Descripcion Tipo_Documento,
            pe.CodigoDocumento Numero_Documento
            from paciente pa, persona pe,tipodocumento ti 
            where pa.Persona = pe.Persona and ti.TipoDocumento=pe.TipoDocumento "
            .$cond1.$cond2.$cond3." ;");
        return $sql->result_array();
        //return $sql->result_array();
       
    }
    function getOrden($procedimiento){

        $this->load->model("Proceso_Model");

        $sql = $this->db->query("
            select
                ord.Orden Orden,
                ord.FechaOrden FechaOrden,
                ord.NumeroSesiones NumeroSesiones,
                ord.EstadoOrden EstadoOrden,
                ord.Especialidad Especialidad
            from
                orden ord
            where
                ord.Procedimiento = $procedimiento;");

//        $data = array();
//
//        if($sql->num_rows > 0){
//            foreach($sql->result_array() as $row){
//                while (list($key, $value) = each($row)) {
//                    $data[$key] = $value;
//                }
//                $data['consultas'] = $this->Historiaclinica_Model->HistorialConsultas($persona);
//                $data['examenes'] = $this->Historiaclinica_Model->HistorialExamenes($persona);
//                $data['internamientos'] = $this->Historiaclinica_Model->HistorialInternamientos($persona);
//                $data['emergencias'] = $this->Historiaclinica_Model->HistorialEmergencias($persona);
//            }
//        }

      //  return $data;
          return $sql->result_array();
    }


    function getHistorial($persona){
        
        $this->load->model("Historiaclinica_Model");
       
        $sql = $this->db->query("
            select
                pa.Codigo Codigo,
                pe.Persona Persona,
                pe.Nombres Nombres,
                pe.Apellido_Paterno Apellido_Paterno,
                pe.Apellido_Materno Apellido_Materno,
                pe.TipoDocumento Tipo_Documento,
                td.Descripcion Tipo_Doc_Desc,                
                pe.Sexo Sexo,
                pe.Direccion Direccion, 
                pe.Telefono Telefono,
                pe.Celular Celular,
                pe.CodigoDocumento Numero_Documento,
                h.Ocupacion Ocupacion,
                h.LugarTrabajo LugarTrabajo,
                h.AccidentesTrabajo AccidentesTrabajo,
                h.Discapacidad Discapacidad,
                h.MedicamentosUltimosMeses MedicamentosUltimosMeses,
                h.Alergias Alergias,
                h.Fuma Fuma,
                h.Bebe Bebe,
                h.Enfermedades Enfermedades
            from
                historiaclinica h,
                persona pe,
                paciente pa,
                tipodocumento td
            where
                pe.Persona = h.Persona and 
                pe.TipoDocumento = td.TipoDocumento and
                pa.Persona = pa.Persona and
                h.Persona = $persona;");
        
        $data = array();
        
        if($sql->num_rows > 0){
            foreach($sql->result_array() as $row){
                while (list($key, $value) = each($row)) {
                    $data[$key] = $value;
                }
                $data['consultas'] = $this->Historiaclinica_Model->HistorialConsultas($persona);
                $data['examenes'] = $this->Historiaclinica_Model->HistorialExamenes($persona);
                $data['internamientos'] = $this->Historiaclinica_Model->HistorialInternamientos($persona);
                $data['emergencias'] = $this->Historiaclinica_Model->HistorialEmergencias($persona);
            }
        }
                
        return $data;
    }
    
    
    public function insert($args){
        $data = array(
            'Nombres' => $args['Nombres'],
            'Apellido_Paterno' => $args['Apellido_Paterno'],
            'Apellido_Materno' => $args['Apellido_Materno'],
            'TipoDocumento' => 1,
            'CodigoDocumento' => $args['Tipo_Documento']
        );
        $this->db->insert('persona', $data);
        $lastId=$this->db->insert_id();
        $data = array(
            'Persona' => $lastId,
            'Codigo' => '9999',
            'EstadoPaciente' => 1,
            'TieneHistoria' => 0
        );
        $this->db->insert('paciente', $data);
        $data = array(
            'Persona' => $lastId,
            'Ocupacion' => $args['Ocupacion'],
            'LugarTrabajo' => $args['LugarTrabajo'],
            'AccidentesTrabajo' => $args['AccidentesTrabajo'],
            'Discapacidad' => $args['Discapacidad'],
            'MedicamentosUltimosMeses' => $args['MedicamentosUltimosMeses'],
            'Alergias' => $args['Alergias'],
            'Fuma' => $args['Fuma'],
            'Bebe' => $args['Bebe'],
            'Enfermedades' => $args['Enfermedades']
        );
        $this->db->insert('historiaclinica', $data);
        
        return $this->getHistorial($lastId);
    }
        
    function buscarPacientesHospitalizados(){
               
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            pe.Direccion Direccion,
            pe.Telefono Telefono 
            from paciente pa, persona pe 
            where pa.Persona = pe.Persona
            ;");
       
          $row=$sql->result_array();
          
       return $row;
    }   
    
    function buscarPacientesCirugia(){
               
        $sql = $this->db->query("
            select
            pa.Codigo Codigo,
            pe.Persona Persona,
            pe.Nombres Nombres,
            pe.Apellido_Paterno Apellido_Paterno,
            pe.Apellido_Materno Apellido_Materno,
            pe.Direccion Direccion,
            pe.Telefono Telefono 
            from paciente pa, persona pe 
            where pa.Persona = pe.Persona and pa.estadopaciente=21
            ;");
       
          $row=$sql->result_array();
          
       return $row;
    }   

}

?>